package com.one.blocks.rbac.domain;

import com.one.blocks.mvc.domain.BaseDomain;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 系统菜单权限表: sys_menu
 * @author <a href="mailto:idler41@163.con">idler41</a> created on 2023-10-19 10:47:55
 */
@Data
public class SysMenu implements BaseDomain<Integer>, Serializable {

    /**
     * 主键ID
     */
    private Integer id;

    /**
     * 目录名称(router名称)
     */
    private String name;

    /**
     * 目录标题
     */
    private String title;

    /**
     * 上级目录id
     */
    private Integer parentId;

    /**
     * 目录类型: 0-目录 1-菜单 2-按钮
     */
    private Integer type;

    /**
     * 权限标识
     */
    private String perms;

    /**
     * 目录状态: 0-禁用 1-正常
     */
    private Integer state;

    /**
     * 是否外链: 0-否 1-是
     */
    private Integer linkFlag;

    /**
     * 是否缓存: 0-否 1-是
     */
    private Integer cacheFlag;

    /**
     * 是否可见: 0-否 1-是
     */
    private Integer visible;

    /**
     * 显示层级
     */
    private Integer levelNum;

    /**
     * 显示顺序
     */
    private Integer orderNum;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 组件地址
     */
    private String component;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 创建者id
     */
    private Integer createId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者id
     */
    private Integer updateId;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}